home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / MiscKit1.7.1 / MiscKit / Headers / misckit / miscgiskit / MiscCoordConverter.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-07-08  |  1.7 KB  |  62 lines

  1. /*========================= MiscCoordConverter.h ============================*/
  2. /* MiscCoordConverter class supports the writing of converters between
  3.    coordinate systems. All values are double precision floating point
  4.    numbers representing locations in a three dimensional coordinate system.
  5.  
  6.    MiscCoordConverters are not archived because they contain only data that is
  7.    recoverable or is temporary.
  8.  
  9.    The methods in this class are only for use by its subclasses and should not
  10.    be sent by a non-subclass. If they are, your program will most likely
  11.    crash immediately...IF you are lucky...
  12.  
  13.    DMA Release 0.8, Copyright @1993 by Genesis Project, Ltd. All Rights
  14.    Reserved. For further information on terms and conditions see
  15.         the MiscKit license.
  16.  
  17. HISTORY
  18. 10-Mar-93  Dale Amon at GPL
  19.        Created.
  20. */
  21.  
  22. #import <appkit/appkit.h>
  23. #import <misckit/miscgiskit.h>
  24.  
  25. #define    MISC_COORD_CONVERTER_VERSION_ID    0.8
  26.  
  27. struct __MiscService
  28.  {    Class        iClass,oClass;
  29.     SEL        xlator;
  30.  };
  31.  
  32. #define MISC_SERVICE_SIZE        (sizeof(struct __MiscService))
  33. #define MISC_SERVICE_DESCRIPTION    "{##:}"
  34.  
  35. @interface MiscCoordConverter:Object <MiscCoordConverterServer>
  36. {    id        services;            /* pair list of what we
  37.                                     know how to xlate. */
  38.     /* Description of current job */
  39.     SEL        theTransform;        /* conversion method */
  40.     id        aSubcontractor;        /* and who can do the work */
  41.     id        srcConstants,        /* special instructions */
  42.             dstConstants;
  43.  
  44.     unsigned int    dimensions;        /* dimensions of points */
  45.     double            *src,*dst;        /* data pointers */
  46.     unsigned int    npoints;        /* # points to xlate */
  47.     BOOL            sameConstants;        /* set YES if constants 
  48.                                             are the same */
  49. }
  50.  
  51. +initialize;
  52.  
  53. - init;
  54. - free;
  55.  
  56. - addService: (SEL) aSelector convertsFrom: (Class) one to: (Class) two;
  57. - (SEL) fastCopySelector;
  58.  
  59. - awake;
  60.  
  61. @end
  62.